/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: src/test/proto/Echo.proto

package org.apache.seata.integration.brpc.dto;

public final class Echo {
    private Echo() {}

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
        registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
    }

    public interface EchoRequestOrBuilder
            extends
            // @@protoc_insertion_point(interface_extends:org.apache.seata.integration.brpc.dto.EchoRequest)
            com.google.protobuf.MessageOrBuilder {

        /**
         * <code>required string reqMsg = 1;</code>
         */
        boolean hasReqMsg();
        /**
         * <code>required string reqMsg = 1;</code>
         */
        java.lang.String getReqMsg();
        /**
         * <code>required string reqMsg = 1;</code>
         */
        com.google.protobuf.ByteString getReqMsgBytes();
    }
    /**
     * Protobuf type {@code org.apache.seata.integration.brpc.dto.EchoRequest}
     */
    public static final class EchoRequest extends com.google.protobuf.GeneratedMessageV3
            implements
            // @@protoc_insertion_point(message_implements:org.apache.seata.integration.brpc.dto.EchoRequest)
            EchoRequestOrBuilder {
        // Use EchoRequest.newBuilder() to construct.
        private EchoRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private EchoRequest() {
            reqMsg_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private EchoRequest(
                com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                    com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(
                                    input, unknownFields,
                                    extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            reqMsg_ = bs;
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return Echo.internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return Echo.internal_static_io_seata_integration_brpc_dto_EchoRequest_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(Echo.EchoRequest.class, Echo.EchoRequest.Builder.class);
        }

        private int bitField0_;
        public static final int REQMSG_FIELD_NUMBER = 1;
        private volatile java.lang.Object reqMsg_;
        /**
         * <code>required string reqMsg = 1;</code>
         */
        public boolean hasReqMsg() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string reqMsg = 1;</code>
         */
        public java.lang.String getReqMsg() {
            java.lang.Object ref = reqMsg_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                    reqMsg_ = s;
                }
                return s;
            }
        }
        /**
         * <code>required string reqMsg = 1;</code>
         */
        public com.google.protobuf.ByteString getReqMsgBytes() {
            java.lang.Object ref = reqMsg_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                reqMsg_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1) return true;
            if (isInitialized == 0) return false;

            if (!hasReqMsg()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, reqMsg_);
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1) return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, reqMsg_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        private static final long serialVersionUID = 0L;

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof Echo.EchoRequest)) {
                return super.equals(obj);
            }
            Echo.EchoRequest other = (Echo.EchoRequest) obj;

            boolean result = true;
            result = result && (hasReqMsg() == other.hasReqMsg());
            if (hasReqMsg()) {
                result = result && getReqMsg().equals(other.getReqMsg());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptorForType().hashCode();
            if (hasReqMsg()) {
                hash = (37 * hash) + REQMSG_FIELD_NUMBER;
                hash = (53 * hash) + getReqMsg().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static Echo.EchoRequest parseFrom(com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static Echo.EchoRequest parseFrom(
                com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static Echo.EchoRequest parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static Echo.EchoRequest parseFrom(
                byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static Echo.EchoRequest parseFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static Echo.EchoRequest parseFrom(
                java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static Echo.EchoRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static Echo.EchoRequest parseDelimitedFrom(
                java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
                    PARSER, input, extensionRegistry);
        }

        public static Echo.EchoRequest parseFrom(com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static Echo.EchoRequest parseFrom(
                com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(Echo.EchoRequest prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }
        /**
         * Protobuf type {@code org.apache.seata.integration.brpc.dto.EchoRequest}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                implements
                // @@protoc_insertion_point(builder_implements:org.apache.seata.integration.brpc.dto.EchoRequest)
                Echo.EchoRequestOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoRequest_fieldAccessorTable
                        .ensureFieldAccessorsInitialized(Echo.EchoRequest.class, Echo.EchoRequest.Builder.class);
            }

            // Construct using org.apache.seata.integration.brpc.dto.Echo.EchoRequest.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {}
            }

            public Builder clear() {
                super.clear();
                reqMsg_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor;
            }

            public Echo.EchoRequest getDefaultInstanceForType() {
                return Echo.EchoRequest.getDefaultInstance();
            }

            public Echo.EchoRequest build() {
                Echo.EchoRequest result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public Echo.EchoRequest buildPartial() {
                Echo.EchoRequest result = new Echo.EchoRequest(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.reqMsg_ = reqMsg_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof Echo.EchoRequest) {
                    return mergeFrom((Echo.EchoRequest) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(Echo.EchoRequest other) {
                if (other == Echo.EchoRequest.getDefaultInstance()) return this;
                if (other.hasReqMsg()) {
                    bitField0_ |= 0x00000001;
                    reqMsg_ = other.reqMsg_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                if (!hasReqMsg()) {
                    return false;
                }
                return true;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                Echo.EchoRequest parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (Echo.EchoRequest) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int bitField0_;

            private java.lang.Object reqMsg_ = "";
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public boolean hasReqMsg() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public java.lang.String getReqMsg() {
                java.lang.Object ref = reqMsg_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        reqMsg_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public com.google.protobuf.ByteString getReqMsgBytes() {
                java.lang.Object ref = reqMsg_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    reqMsg_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public Builder setReqMsg(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                reqMsg_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public Builder clearReqMsg() {
                bitField0_ = (bitField0_ & ~0x00000001);
                reqMsg_ = getDefaultInstance().getReqMsg();
                onChanged();
                return this;
            }
            /**
             * <code>required string reqMsg = 1;</code>
             */
            public Builder setReqMsgBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                reqMsg_ = value;
                onChanged();
                return this;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:org.apache.seata.integration.brpc.dto.EchoRequest)
        }

        // @@protoc_insertion_point(class_scope:org.apache.seata.integration.brpc.dto.EchoRequest)
        private static final Echo.EchoRequest DEFAULT_INSTANCE;

        static {
            DEFAULT_INSTANCE = new Echo.EchoRequest();
        }

        public static Echo.EchoRequest getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<EchoRequest> PARSER =
                new com.google.protobuf.AbstractParser<EchoRequest>() {
                    public EchoRequest parsePartialFrom(
                            com.google.protobuf.CodedInputStream input,
                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                            throws com.google.protobuf.InvalidProtocolBufferException {
                        return new EchoRequest(input, extensionRegistry);
                    }
                };

        public static com.google.protobuf.Parser<EchoRequest> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<EchoRequest> getParserForType() {
            return PARSER;
        }

        public Echo.EchoRequest getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }
    }

    public interface EchoResponseOrBuilder
            extends
            // @@protoc_insertion_point(interface_extends:org.apache.seata.integration.brpc.dto.EchoResponse)
            com.google.protobuf.MessageOrBuilder {

        /**
         * <code>optional string xid = 1;</code>
         */
        boolean hasXid();
        /**
         * <code>optional string xid = 1;</code>
         */
        java.lang.String getXid();
        /**
         * <code>optional string xid = 1;</code>
         */
        com.google.protobuf.ByteString getXidBytes();

        /**
         * <code>optional string branchType = 2;</code>
         */
        boolean hasBranchType();
        /**
         * <code>optional string branchType = 2;</code>
         */
        java.lang.String getBranchType();
        /**
         * <code>optional string branchType = 2;</code>
         */
        com.google.protobuf.ByteString getBranchTypeBytes();

        /**
         * <code>required string reqMsg = 3;</code>
         */
        boolean hasReqMsg();
        /**
         * <code>required string reqMsg = 3;</code>
         */
        java.lang.String getReqMsg();
        /**
         * <code>required string reqMsg = 3;</code>
         */
        com.google.protobuf.ByteString getReqMsgBytes();
    }
    /**
     * Protobuf type {@code org.apache.seata.integration.brpc.dto.EchoResponse}
     */
    public static final class EchoResponse extends com.google.protobuf.GeneratedMessageV3
            implements
            // @@protoc_insertion_point(message_implements:org.apache.seata.integration.brpc.dto.EchoResponse)
            EchoResponseOrBuilder {
        // Use EchoResponse.newBuilder() to construct.
        private EchoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private EchoResponse() {
            xid_ = "";
            branchType_ = "";
            reqMsg_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private EchoResponse(
                com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                    com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(
                                    input, unknownFields,
                                    extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000001;
                            xid_ = bs;
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            branchType_ = bs;
                            break;
                        }
                        case 26: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000004;
                            reqMsg_ = bs;
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return Echo.internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return Echo.internal_static_io_seata_integration_brpc_dto_EchoResponse_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(Echo.EchoResponse.class, Echo.EchoResponse.Builder.class);
        }

        private int bitField0_;
        public static final int XID_FIELD_NUMBER = 1;
        private volatile java.lang.Object xid_;
        /**
         * <code>optional string xid = 1;</code>
         */
        public boolean hasXid() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string xid = 1;</code>
         */
        public java.lang.String getXid() {
            java.lang.Object ref = xid_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                    xid_ = s;
                }
                return s;
            }
        }
        /**
         * <code>optional string xid = 1;</code>
         */
        public com.google.protobuf.ByteString getXidBytes() {
            java.lang.Object ref = xid_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                xid_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int BRANCHTYPE_FIELD_NUMBER = 2;
        private volatile java.lang.Object branchType_;
        /**
         * <code>optional string branchType = 2;</code>
         */
        public boolean hasBranchType() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional string branchType = 2;</code>
         */
        public java.lang.String getBranchType() {
            java.lang.Object ref = branchType_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                    branchType_ = s;
                }
                return s;
            }
        }
        /**
         * <code>optional string branchType = 2;</code>
         */
        public com.google.protobuf.ByteString getBranchTypeBytes() {
            java.lang.Object ref = branchType_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                branchType_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        public static final int REQMSG_FIELD_NUMBER = 3;
        private volatile java.lang.Object reqMsg_;
        /**
         * <code>required string reqMsg = 3;</code>
         */
        public boolean hasReqMsg() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>required string reqMsg = 3;</code>
         */
        public java.lang.String getReqMsg() {
            java.lang.Object ref = reqMsg_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                    reqMsg_ = s;
                }
                return s;
            }
        }
        /**
         * <code>required string reqMsg = 3;</code>
         */
        public com.google.protobuf.ByteString getReqMsgBytes() {
            java.lang.Object ref = reqMsg_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                reqMsg_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1) return true;
            if (isInitialized == 0) return false;

            if (!hasReqMsg()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, xid_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, branchType_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 3, reqMsg_);
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1) return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, xid_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, branchType_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, reqMsg_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        private static final long serialVersionUID = 0L;

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof Echo.EchoResponse)) {
                return super.equals(obj);
            }
            Echo.EchoResponse other = (Echo.EchoResponse) obj;

            boolean result = true;
            result = result && (hasXid() == other.hasXid());
            if (hasXid()) {
                result = result && getXid().equals(other.getXid());
            }
            result = result && (hasBranchType() == other.hasBranchType());
            if (hasBranchType()) {
                result = result && getBranchType().equals(other.getBranchType());
            }
            result = result && (hasReqMsg() == other.hasReqMsg());
            if (hasReqMsg()) {
                result = result && getReqMsg().equals(other.getReqMsg());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptorForType().hashCode();
            if (hasXid()) {
                hash = (37 * hash) + XID_FIELD_NUMBER;
                hash = (53 * hash) + getXid().hashCode();
            }
            if (hasBranchType()) {
                hash = (37 * hash) + BRANCHTYPE_FIELD_NUMBER;
                hash = (53 * hash) + getBranchType().hashCode();
            }
            if (hasReqMsg()) {
                hash = (37 * hash) + REQMSG_FIELD_NUMBER;
                hash = (53 * hash) + getReqMsg().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static Echo.EchoResponse parseFrom(com.google.protobuf.ByteString data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static Echo.EchoResponse parseFrom(
                com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static Echo.EchoResponse parseFrom(byte[] data)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static Echo.EchoResponse parseFrom(
                byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static Echo.EchoResponse parseFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static Echo.EchoResponse parseFrom(
                java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static Echo.EchoResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static Echo.EchoResponse parseDelimitedFrom(
                java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
                    PARSER, input, extensionRegistry);
        }

        public static Echo.EchoResponse parseFrom(com.google.protobuf.CodedInputStream input)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static Echo.EchoResponse parseFrom(
                com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(Echo.EchoResponse prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }
        /**
         * Protobuf type {@code org.apache.seata.integration.brpc.dto.EchoResponse}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                implements
                // @@protoc_insertion_point(builder_implements:org.apache.seata.integration.brpc.dto.EchoResponse)
                Echo.EchoResponseOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoResponse_fieldAccessorTable
                        .ensureFieldAccessorsInitialized(Echo.EchoResponse.class, Echo.EchoResponse.Builder.class);
            }

            // Construct using org.apache.seata.integration.brpc.dto.Echo.EchoResponse.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {}
            }

            public Builder clear() {
                super.clear();
                xid_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                branchType_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                reqMsg_ = "";
                bitField0_ = (bitField0_ & ~0x00000004);
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return Echo.internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor;
            }

            public Echo.EchoResponse getDefaultInstanceForType() {
                return Echo.EchoResponse.getDefaultInstance();
            }

            public Echo.EchoResponse build() {
                Echo.EchoResponse result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public Echo.EchoResponse buildPartial() {
                Echo.EchoResponse result = new Echo.EchoResponse(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.xid_ = xid_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.branchType_ = branchType_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                    to_bitField0_ |= 0x00000004;
                }
                result.reqMsg_ = reqMsg_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(
                    com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof Echo.EchoResponse) {
                    return mergeFrom((Echo.EchoResponse) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(Echo.EchoResponse other) {
                if (other == Echo.EchoResponse.getDefaultInstance()) return this;
                if (other.hasXid()) {
                    bitField0_ |= 0x00000001;
                    xid_ = other.xid_;
                    onChanged();
                }
                if (other.hasBranchType()) {
                    bitField0_ |= 0x00000002;
                    branchType_ = other.branchType_;
                    onChanged();
                }
                if (other.hasReqMsg()) {
                    bitField0_ |= 0x00000004;
                    reqMsg_ = other.reqMsg_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                if (!hasReqMsg()) {
                    return false;
                }
                return true;
            }

            public Builder mergeFrom(
                    com.google.protobuf.CodedInputStream input,
                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                    throws java.io.IOException {
                Echo.EchoResponse parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (Echo.EchoResponse) e.getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int bitField0_;

            private java.lang.Object xid_ = "";
            /**
             * <code>optional string xid = 1;</code>
             */
            public boolean hasXid() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional string xid = 1;</code>
             */
            public java.lang.String getXid() {
                java.lang.Object ref = xid_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        xid_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>optional string xid = 1;</code>
             */
            public com.google.protobuf.ByteString getXidBytes() {
                java.lang.Object ref = xid_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    xid_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>optional string xid = 1;</code>
             */
            public Builder setXid(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                xid_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>optional string xid = 1;</code>
             */
            public Builder clearXid() {
                bitField0_ = (bitField0_ & ~0x00000001);
                xid_ = getDefaultInstance().getXid();
                onChanged();
                return this;
            }
            /**
             * <code>optional string xid = 1;</code>
             */
            public Builder setXidBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                xid_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object branchType_ = "";
            /**
             * <code>optional string branchType = 2;</code>
             */
            public boolean hasBranchType() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional string branchType = 2;</code>
             */
            public java.lang.String getBranchType() {
                java.lang.Object ref = branchType_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        branchType_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>optional string branchType = 2;</code>
             */
            public com.google.protobuf.ByteString getBranchTypeBytes() {
                java.lang.Object ref = branchType_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    branchType_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>optional string branchType = 2;</code>
             */
            public Builder setBranchType(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                branchType_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>optional string branchType = 2;</code>
             */
            public Builder clearBranchType() {
                bitField0_ = (bitField0_ & ~0x00000002);
                branchType_ = getDefaultInstance().getBranchType();
                onChanged();
                return this;
            }
            /**
             * <code>optional string branchType = 2;</code>
             */
            public Builder setBranchTypeBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                branchType_ = value;
                onChanged();
                return this;
            }

            private java.lang.Object reqMsg_ = "";
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public boolean hasReqMsg() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public java.lang.String getReqMsg() {
                java.lang.Object ref = reqMsg_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        reqMsg_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public com.google.protobuf.ByteString getReqMsgBytes() {
                java.lang.Object ref = reqMsg_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b =
                            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                    reqMsg_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public Builder setReqMsg(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                reqMsg_ = value;
                onChanged();
                return this;
            }
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public Builder clearReqMsg() {
                bitField0_ = (bitField0_ & ~0x00000004);
                reqMsg_ = getDefaultInstance().getReqMsg();
                onChanged();
                return this;
            }
            /**
             * <code>required string reqMsg = 3;</code>
             */
            public Builder setReqMsgBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000004;
                reqMsg_ = value;
                onChanged();
                return this;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:org.apache.seata.integration.brpc.dto.EchoResponse)
        }

        // @@protoc_insertion_point(class_scope:org.apache.seata.integration.brpc.dto.EchoResponse)
        private static final Echo.EchoResponse DEFAULT_INSTANCE;

        static {
            DEFAULT_INSTANCE = new Echo.EchoResponse();
        }

        public static Echo.EchoResponse getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<EchoResponse> PARSER =
                new com.google.protobuf.AbstractParser<EchoResponse>() {
                    public EchoResponse parsePartialFrom(
                            com.google.protobuf.CodedInputStream input,
                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                            throws com.google.protobuf.InvalidProtocolBufferException {
                        return new EchoResponse(input, extensionRegistry);
                    }
                };

        public static com.google.protobuf.Parser<EchoResponse> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<EchoResponse> getParserForType() {
            return PARSER;
        }

        public Echo.EchoResponse getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }
    }

    private static final com.google.protobuf.Descriptors.Descriptor
            internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internal_static_io_seata_integration_brpc_dto_EchoRequest_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor
            internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internal_static_io_seata_integration_brpc_dto_EchoResponse_fieldAccessorTable;

    public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
        return descriptor;
    }

    private static com.google.protobuf.Descriptors.FileDescriptor descriptor;

    static {
        java.lang.String[] descriptorData = {
            "\n\031src/test/proto/Echo.proto\022\035org.apache.seata.in"
                    + "tegration.brpc.dto\"\035\n\013EchoRequest\022\016\n\006req"
                    + "Msg\030\001 \002(\t\"?\n\014EchoResponse\022\013\n\003xid\030\001 \001(\t\022\022"
                    + "\n\nbranchType\030\002 \001(\t\022\016\n\006reqMsg\030\003 \002(\t"
        };
        com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
                new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
                    public com.google.protobuf.ExtensionRegistry assignDescriptors(
                            com.google.protobuf.Descriptors.FileDescriptor root) {
                        descriptor = root;
                        return null;
                    }
                };
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
                descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {}, assigner);
        internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor =
                getDescriptor().getMessageTypes().get(0);
        internal_static_io_seata_integration_brpc_dto_EchoRequest_fieldAccessorTable =
                new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
                        internal_static_io_seata_integration_brpc_dto_EchoRequest_descriptor, new java.lang.String[] {
                            "ReqMsg",
                        });
        internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor =
                getDescriptor().getMessageTypes().get(1);
        internal_static_io_seata_integration_brpc_dto_EchoResponse_fieldAccessorTable =
                new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
                        internal_static_io_seata_integration_brpc_dto_EchoResponse_descriptor, new java.lang.String[] {
                            "Xid", "BranchType", "ReqMsg",
                        });
    }

    // @@protoc_insertion_point(outer_class_scope)
}
